﻿const express = require('express')
const User = require('./modules/user')
const Comment = require('./modules/comment')
const md5 = require('blueimp-md5')
let router  = express.Router()
//进入首页 并获取评论
router.get('/',function(req,res){
    res.render('index.html',{
        user:req.session.user
    })
})
// 评论
router.get('/comment',function(req,res,next){
    Comment.find(function(err,data){
        if(err){
            return next(err)
        }else{
            res.status(200).json(data)
        }
    })
})
router.post('/comment',function(req,res,next){
    let body = req.body
    let newComment = {
        useremail:body.email,
        content:body.content
    }
    User.findOne({
        email:body.email
    },function(err,data){
        if(err){
            return next(err)
        }else{
            newComment.nickname = data.nickname
            newComment.avatar = data.avatar
            let comment = new Comment(newComment)
            comment.save(function(err,data){
                if(err){
                    console.log(1)
                    return next(err)
                }else{
                    console.log(2)
                    return res.status(200).json({
                        err_code:0,
                        msg:'ok'
                    })
                }
            })
        }
    })
})
//登录页
router.get('/login',function(req,res){
    res.render('login/login.html')
})

router.post('/login',function(req,res,next){
    let curUser = req.body
    User.findOne({
        email:curUser.email,
    },function(err,data){
        if(err){
            return next(err)
        }else{
            if(data){
                if(data.password === md5(curUser.password)){
                    req.session.user = data 
                    return res.status(200).json({
                    err_code:0,
                    msg:'ok'
                    })
                }else{
                    return res.status(200).json({
                        err_code:1,
                        msg:'email or password wrong'
                    })
                }
            }else {
                return res.status(200).json({
                    err_code:2,
                    msg:'email not register'
                })
            }
        }
    })
    // User.findOne({
    //     email:curUser.email,
    //     password:md5(curUser.password)
    // },function(err,user){
    //     if(err){
    //         return next(err)
    //     }else {
    //         if(!user){
    //             return res.status(200).json({
    //                 err_code:1,
    //                 msg:'email or password wrong'
    //             })
    //         }else{
    //             req.session.user = user
    //             res.status(200).json({
    //                 err_code:0,
    //                 msg:'ok'
    //             })
    //         }
    //     }
    // })
})
//注册页
router.get('/register',function(req,res){
    res.render('login/register.html')
})
router.post('/register',function(req,res,next){
    req.body.password = md5(req.body.password)
    let curUser = new User(req.body)
    User.findOne({
        email:curUser.email
    },function(err,data){
        if(err){
            return next(err)
        }else{
            if(data){
                return res.status(200).json({
                    err_code:1,
                    msg:'email is registered'
                })
            }else{
                curUser.save((err,user)=>{
                    if(err) {
                        return next(err)
                    }else {
                        req.session.user = user
                        return res.status(200).json({
                            err_code:0,
                            msg:'ok'
                        })
                    }
                })
            }
        }
    })
})
//个人中心
router.get('/usercenter',function(req,res,next){
    res.render('user/usercenter.html',{
        user:req.session.user
    })
})
//用户基本设置
router.get('/userset',function(req,res,next){
    // console.log(req.session.user)
    res.render('user/userset.html',{
        user:req.session.user
    })
})
router.post('/userset',function(req,res,next){
    User.findByIdAndUpdate(req.body.id,req.body,{new:true},function(err,data){
        if(err){
            return next(err)
        }else {
            req.session.user = data
            res.status(200).json({
                err_code:0,
                msg:0
            })
        }
    })
})
//安全设置页
router.get('/safeset',function(req,res,next){
    res.render('user/safeset.html',{
        user:req.session.user
    })
})
//修改密码
router.post('/safeset',function(req,res,next){
    let body = req.body
    User.findOne({
        email:body.email
    },function(err,data){
        if(err){
            return next(err)
        }else{
            if(data.password == md5(body.oldpassword)){
                User.findByIdAndUpdate(data._id,{password:md5(body.password)},function(err,dat){
                    if(err){
                        return next(err)
                    }else{
                        req.session.user = null
                        return res.status(200).json({
                            err_code:0,
                            msg:'ok'
                        })
                    }
                })
            }else {
                return res.status(200).json({
                    err_code:1,
                    msg:'old password wrong'
                })
            }
        }
    })
})
//注销页
router.get('/logout',(req,res)=>{
    req.session.user = null
    res.redirect('/')
})
module.exports = router